package es.masterd.e12_2;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

import android.app.Activity;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
import android.widget.RemoteViews;

public class CuentaAtrasWidget extends AppWidgetProvider {
	
	public void onUpdate(Context context, AppWidgetManager appWidgetManager,
			int[] appWidgetIds) {
		
		Log.d("widget", "onUpdate");
				
		for(int x=0 ; x < appWidgetIds.length ; x++) {
				
			// Mandamos la vista al widget
			int id = appWidgetIds[x];
			
			appWidgetManager.updateAppWidget(id, getRemoteView(context));
		}
	}
	
	public static RemoteViews getRemoteView(Context context) {
		GregorianCalendar cal = new GregorianCalendar();
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		formatter.setTimeZone(TimeZone.getTimeZone("Europe/Madrid"));
		
		// Obtenemos la fecha "destino" guardada en las preferencias
		SharedPreferences prefs = context.getSharedPreferences("cuentaAtrasPrefs", Activity.MODE_PRIVATE); 
		String fecha = prefs.getString("pref_cuenta_atras_fecha", "1970-01-01");
		
		Log.d("widget", "pref_cuenta_atras_fecha=" + fecha);
		
		cal.setTime(formatter.parse(fecha,new ParsePosition(0)));
			
		long fin = cal.getTime().getTime();
		long ini = new Date().getTime();
		
		long dias = (fin-ini) / (24 * 60 * 60 * 1000); // De milisegundos a d�as

		// Lo colocamos en una vista remota
		RemoteViews rView = new RemoteViews(context.getPackageName(), R.layout.falta);
		rView.setTextViewText(R.id.falta	, "Faltan: " + dias + " d�as" );
	
		return rView;
	}
}
